The recent growth and acceptance of the Internet and the World Wide Web has focussed much attention to networked systems in general and to the potential for mass communication and information transfer. More and more groups of individuals can now satisfy a long felt need for rapid and wide area distribution of information including documents containing thousands and thousand of pages. Now, over networks, such massive amounts of information can be sent from one terminal or server to another terminal or server in a network almost instantaneously.
With the availability and ease of use of such a resource, more information is being transferred on a routine basis now rather than on an "as needed" basis.
In so called "service applications", which run on system or network servers, "suppliers" of information send information to the server memory, and such information is held for a "pull" consumer, or forwarded immediately to a "push" of information at another terminal in the system. "Pull" consumers must ask for or "pull" the posted information from the service application to the Pull Consumers terminals. In some service applications such as so called "Event/Notification" service applications, a "pull" consumer has to specifically apply the "pull" operation to the event/Notification Channel in order to get the event.
In several specific examples, a stock market "watch" service application may be tasked to "notify" a consumer when a designated stock reaches a certain value or changes by a certain amount. A Pull Consumer will, however, not be aware of this event unless the Pull Consumer logs on to the application and specifically directs that the notification be sent to the consumer's terminal. Similar "event notification" applications exist for manufacturing operations where an assembly line terminal needs to be informed when a part is available, or for the insurance industry where an agent needs to be informed when the status of a customer has changed. In any application, consumers of the information are designated either as "pull" consumers who have to specifically retrieve the information from a server, or "push" consumers to whom information is sent automatically from the server without any consumer action required.
In server service applications, there is a need for periodic maintenance in order to optimize resource availability and efficiency. For example, a "client", which may create both "senders" and "consumers" of information on a network, may also create a number of "Event Channel" objects in the "Event Channel Factory" object and leave those Event Channels idle without being used. A client may also create a number of "Supplier Admin" objects or "Consumer Admin" objects within the created Event Channel and leave those Supplier Admin objects or Consumer Admin objects idle without being used.
A client may also create a number of Proxy Push Consumers, Proxy Pull Consumers, Proxy Push Suppliers, and Proxy Pull Suppliers within the created Supplier Admins or Consumer Admins and leave those proxies idle without being used. A supplier client may also connect to the Event Channel without delivering any events. Further, a Pull Consumer client may also connect to the Event Channel but not request any events for an extended period of time.
In all of the above situations and others, there is a need for an improved methodology and implementing system which enables a more efficient and more effective use of communication and information transfer resources and systems.